调用CreateGreyTagRoute接口为Spring Cloud或Dubbo应用创建灰度规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求头
该接口使用公共请求头,无特殊请求头。更多信息,请参见公共请求和返回头。
请求语法
POST /pop/v1/sam/tagroute/greyTagRoute HTTP/1.1
请求参数
名称 | 类型 | 位置 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
AppId | String | Query | 是 | 7802c49a-67bc-4167-8369-9a9c003c**** |
应用ID。 |
Name | String | Query | 是 | dubbo-echo |
规则名称。支持以小写字母开头,以数字或小写字母结尾,仅可包含小写字母、中文字符、数字及短划线(-)。不超过64个字符。 |
Description | String | Query | 否 | 灰度发布-地域灰度 |
规则描述。不超过64个字符。 |
ScRules | String | Query | 否 | [{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}] |
为Spring Cloud应用创建的灰度规则。当您的应用为Spring Cloud框架时必填,且无需填写DubboRules参数。 |
DubboRules | String | Query | 否 | [{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}] |
为Dubbo应用创建的灰度规则。当您的应用为Dubbo框架时必填,且无需填写ScRules参数。 |
AlbRules | String | Query | 否 | [{"condition":"AND","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"sourceIp","value":"127.0.0.1"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}] |
为配置好ALB网关路由的应用创建的灰度规则。 |
- ScRules参数说明
参数名称 |
类型 |
示例 |
描述 |
---|---|---|---|
condition |
String |
OR |
灰度规则的条件模式,取值说明如下:
|
path |
String |
/path |
Spring Cloud应用灰度规则对应的路径。 |
items |
Array of items |
条件列表。 |
参数名称 |
类型 |
示例 |
描述 |
---|---|---|---|
name |
String |
test |
参数名。 |
cond |
String |
== |
比较操作符。可取值:>、<、>=、<=、==以及!=。 |
type |
String |
cookie |
比较类型,取值说明如下:
|
value |
String |
test |
参数取值,根据type和name得到的值跟这个值进行比较。 |
operator |
String |
rawvalue |
运算符,取值说明如下:
|
- DubboRules参数说明
参数名称 |
类型 |
示例 |
描述 |
---|---|---|---|
condition |
String |
OR |
灰度规则的条件模式,取值说明如下:
|
methodName |
String |
echo |
Dubbo服务的方法名。 |
serviceName |
String |
com.alibaba.edas.boot.EchoService |
Dubbo服务名称。 |
version |
String |
1.0.0 |
Dubbo服务版本。 |
items |
Array of items |
条件列表。 |
|
group |
String |
DUBBO |
灰度规则对应的Dubbo服务的分组。 |
参数名称 |
类型 |
示例 |
描述 |
---|---|---|---|
index |
Integer |
0 |
参数编号,0表示第一个参数。 |
expr |
String |
.name |
参数值获取表达式。取值说明如下:
|
cond |
String |
== |
比较操作符。可取值:>、<、>=、<=、==以及!=。 |
value |
String |
test |
参数取值,根据expr和index得到的值跟这个值进行比较。 |
operator |
String |
rawvalue |
运算符,取值说明如下:
|
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 9D29CBD0-45D3-410B-9826-52F86F90**** |
请求ID。 |
Message | String | success |
调用结果的附加信息。 |
TraceId | String | 0a98a02315955564772843261e**** |
调用链ID,用于精确查询调用信息。 |
Data | Object |
灰度规则信息。 |
|
GreyTagRouteId | Long | 16 |
灰度规则ID,全局唯一。 |
ErrorCode | String | 空 |
错误码。取值说明如下:
|
Code | String | 200 |
接口状态或POP错误码。取值说明如下:
|
Success | Boolean | true |
查询变更单信息是否成功。取值说明如下:
|
示例
请求示例
POST /pop/v1/sam/tagroute/greyTagRoute?AppId=7802c49a-67bc-4167-8369-9a9c003c****&Name=dubbo-echo&Description=灰度发布-地域灰度&ScRules=[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]&DubboRules=[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}] HTTP/1.1
Host:sae.aliyuncs.com
Content-Type:application/json
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateGreyTagRouteResponse>
<RequestId>9D29CBD0-45D3-410B-9826-52F86F90****</RequestId>
<Message>success</Message>
<TraceId>0a98a02315955564772843261e****</TraceId>
<Data>
<GreyTagRouteId>16</GreyTagRouteId>
</Data>
<Code>200</Code>
<Success>true</Success>
</CreateGreyTagRouteResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "9D29CBD0-45D3-410B-9826-52F86F90****",
"Message" : "success",
"TraceId" : "0a98a02315955564772843261e****",
"Data" : {
"GreyTagRouteId" : 16
},
"Code" : "200",
"Success" : true
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | 不合法的参数:%s不能为空。 |
400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | 不合法的参数{%s}。 |
400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | 不合法的参数{%s}:%s。 |
400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | 应用有变更流程正在执行,请稍后重试。 |
访问错误中心查看更多错误码。